unit FuncionarioSearchFr;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
  ExtCtrls, Buttons, StdCtrls, DBCtrls, MainSearchFr;

type

  { TFuncionarioSearchFrame }

  TFuncionarioSearchFrame = class(TMainSearchFrame)
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    id_funcionario: TEdit;
    id_pessoa: TEdit;
    id_cargo: TEdit;
    Label3: TLabel;
    nome_pessoa: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    ativo: TRadioGroup;
    desc_cargo: TEdit;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure LocalizarButtonClick(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

implementation

uses Initializator, FuncionarioDM, QueryConditions, PessoaSearchFr,
  CargoSearchFr, MainFr;

{ TFuncionarioSearchFrame }

procedure TFuncionarioSearchFrame.BitBtn1Click(Sender: TObject);
begin
  TheControl.ShowForeignFrame(TMainFrame(PessoaSearchFrame));
end;

procedure TFuncionarioSearchFrame.BitBtn2Click(Sender: TObject);
begin
  TheControl.ShowForeignFrame(TMainFrame(CargoSearchFrame));
end;


procedure TFuncionarioSearchFrame.LocalizarButtonClick(Sender: TObject);
var
  condicoes: TQueryConditions;
  m: string;
begin
  m := 'A';
  if ativo.ItemIndex = 1 then begin
    m := 'I';
  end;
  condicoes := TQueryConditions.Create(CON_AND);
  condicoes.AddJoinField('f.id_funcionario', 'p.id_pessoa');
  condicoes.AddJoinField('p.id_cidade', 'c.id_cidade');
  condicoes.AddJoinField('f.id_cargo', 'cg.id_cargo');
  condicoes.Add('f.id_funcionario', id_funcionario.Text);
  condicoes.AddText('p.nome_pessoa', nome_pessoa.Text);
  condicoes.Add('f.id_cargo', id_cargo.Text);
  condicoes.AddText('cg.desc_cargo', desc_cargo.Text);
  condicoes.AddText('ativo', m);
  FuncionarioData.Search(condicoes, 'funcionario as f, pessoa as p, cargo as cg, cidade as c');
end;

initialization
  {$I funcionariosearchfr.lrs}

end.
